package domain;

import java.util.ArrayList;
import java.util.Set;


public interface IDAOContact {
	
	public boolean addContact(String firstname, String lastname, String email, String street, String city, String zip, String country,Set<PhoneNumber> phones,Set<ContactGroup>books);
	
	public boolean addEntreprise(int numsiret,String firstname, String lastname, String email, String street, String city, String zip, String country,Set<PhoneNumber> phones,Set<ContactGroup>books);
	
	public boolean addGroup(String groupname);
	
	public Contact getContact(long id);
	
	public ContactGroup getContactGroup(int id);
	
	public ContactGroup getContactGroup(String groupname);	
	
	public boolean modifyContact(long id, String firstname, String lastname, String email, String street, String city, String zip, String country,Set<PhoneNumber> phones,Set<ContactGroup>books);
	
	public boolean modifyContact(Contact contact, String firstname, String lastname, String email, String street, String city, String zip, String country,Set<PhoneNumber> phones,Set<ContactGroup>books);
	
	public boolean deleteContact(long id);
	
	public boolean deleteContact(Contact contact);	
	
	public boolean deleteContactGroup(int id);
	
	public boolean deleteContactGroup(String groupname);
		
	public ArrayList<Contact> getContactByFirstname(String firstname);
	
	public ArrayList<Contact> getContactByLastname(String lastname);
	
	public ArrayList<Contact> getContactByEmail(String email);
	
	public ArrayList<Contact> getAllExistingContact();
	
	public ArrayList<ContactGroup> getAllExistingContactGroup();

}
